home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 145
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin
/
tools
/
sharp
/
sxwork3.lzh
/
福袋
/
SXDEF.H
< prev
next >
Wrap
Text File
|
1993-12-31
|
30KB
|
1,624 lines
/*
* sxdef.h X68k SX_SYSTEM ver 2.01 Copyright 1993 SHARP/First Class Technology
*/
#ifndef __SXDEF_H
#define __SXDEF_H
#include <class.h>
/************************************************/
/* メモリマン (Memory Man) */
/************************************************/
/*
* ポインタ、ハンドル (pointer, handle)
*/
typedef void *pointer;
typedef void *handle;
/*
* ヒープレコード (Heap)
*/
typedef struct Heap {
long heapID;
long memVer;
void *heapData;
void *bkLim;
long moreMst;
int (*fncCompact)();
int (*fncPurge)();
int (*fncMelt)();
int (*fncGrowHeap)();
long zcbFree;
long hFstFree;
pointer allocPtr;
pointer sparePtr;
pointer purgePtr;
char memVis;
char memPad;
short memUsrFlag;
long cntMemCompact;
long cntMemPurge;
long cntMemMelt;
long cntPtrNew;
long cntPtrDispose;
long cntMstBind;
long cntMstFree;
long cntMst;
long memUsrWord;
} Heap;
/*
* ブロックレコード (Block)
*/
typedef struct Block {
long physicalSize;
union {
long relativeHdl;
Heap toHeap;
} heapReference;
UBYTE property;
UBYTE sizeCorrection;
UWORD bkUsrFlag;
ULONG bkUsrWord;
} Block;
/*
* ブロック属性のマスク
*/
#define BK_FREE 0x00
#define BK_ALLOC 0xFF
#define BK_IFMASK 0xF8
#define BK_IFTRAIL 0xF8
#define BK_IFNONREL 0xB8
#define BK_IFRELOC 0x88
#define BK_RELMASK 0xE0
#define BK_ALLREL 0x80
/*
* マスターポインタレコード (Master)
*/
typedef struct Master {
void *mlink;
short mnumber;
char mstate;
char mpad;
} Master;
/*
* メモリマンのエラーコード
*/
#define ER_NOMEM -1024
#define ER_ODDADR -1023
#define ER_ZONEID -1022
#define ER_NILPTR -1021
#define ER_NILHDL -1020
#define ER_EMPHDL -1019
#define ER_NOTFRE -1018
#define ER_NOTALO -1017
#define ER_NOTNON -1016
#define ER_NOTREL -1015
#define ER_NOTLOC -1014
#define ER_NOTUNL -1013
#define ER_NOTPUR -1012
#define ER_NOTUNP -1011
#define ER_ILPROP -1010
#define ER_DIFTYP -1009
#define ER_LESSIZ -1008
#define ER_SPLIT -1007
#define ER_SIZEPU -1006
#define ER_MEM -1005
/************************************************/
/* エクセプションマン (Exception Man) */
/************************************************/
/*
* エクセプションレコード (ExcRec)
*/
typedef struct ExcRec {
UWORD excVector;
short excMaxUsr;
int (*excSetVector)();
int (*excUsrEntry)();
void *excUsrList;
long excSaveEntry;
long excOldEntry;
short excNmbUsr;
short excHandler[3][3];
} ExcRec;
/************************************************/
/* マウスマン (Mouse Man) */
/************************************************/
/*
* マウスポインタレコード (MsRec)
*/
typedef struct MsRec {
void *msBitMap;
short msMulti;
char msRvsSwitch;
char msRvsForBack;
char msRvsLeftRight;
ULONG msPosition;
struct {
char msBlueSw;
char msRedSw;
} msSwitch;
ULONG msThePosition;
struct {
char msTheBlueSw;
char msTheRedSw;
} msTheSwitch;
short msDeltaX;
short msDeltaY;
short msRestX;
short msRestY;
ULONG msOldPosition;
struct {
char msOldBlueSw;
char msOldRedSw;
} msOldSwitch;
long msCache;
handle msCsrHdl;
short msBits ;
short msCsrLvl;
short msDrawing;
char msCached;
} MsRec;
/*
* ポイントレコード (point, point_t)
*/
typedef struct point {
short x;
short y;
} point;
#ifdef __POINT_T
typedef union point_t {
point p;
long x_y;
} point_t;
#else
typedef long point_t;
#endif
/*
* ポインタパターンレコード (TXcsr, GRcsr)
*/
typedef struct TXcsr {
point_t csrHot;
UWORD csrMask[16];
UWORD csrTXptn[4][16];
} TXcsr;
typedef struct GRcsr {
point_t csrHot;
UWORD csrGRptn[16][16];
} GRcsr;
/************************************************/
/* アニメーションマン (Animation Man) */
/************************************************/
/*
* アニメーションレコード (AnimRec)
*/
typedef struct AnimRec {
long animNmbPtn;
long animWait;
void *animPtnList;
long animVcount;
long animPtnNo;
} AnimRec;
/*
* 配列キューレコード (AqRec)
*/
typedef struct AqRec {
short aqSize;
short aqCount;
void *aqStart;
void *aqRead;
void *aqWrite;
} AqRec;
/************************************************/
/* キーボードマン (Keyboard Man) */
/************************************************/
/*
* キーボードレコード (KbRec)
*/
typedef struct KbRec {
AqRec kbAqRec;
ULONG kbMdfy;
short kbData;
char kbHalt;
char kbResetOn;
char kbOldOn;
char kbLedOn;
char kbClickOn;
char kbAssignOn;
char kbRepeatOn;
char kbRESET;
char kbBREAK;
char kbCOPY;
char kbEX;
char kbET;
char kbSO;
char kbDE;
char kbD1;
char kbD3;
char kbpad[10];
UBYTE kbMap[128];
UBYTE kbAssign[128];
} KbRec;
/*
* キーコード
*/
#define KCMASK 0x7F
#define _QK 0x11
#define _PK 0x1A
#define _SK 0x1F
#define _DK 0x20
#define _CK 0x2C
#define _NK 0x2F
#define XF1K 0x55
#define XF2K 0x56
#define XF3K 0x57
#define XF4K 0x58
#define XF5K 0x59
#define KANAK 0x5A
#define ROMEK 0x5B
#define CDINK 0x5C
#define CAPSK 0x5D
#define INSK 0x5E
#define HIRAK 0x5F
#define ZENK 0x60
#define BREAKK 0x61
#define COPYK 0x62
#define F1K 0x63
#define F2K 0x64
#define F3K 0x65
#define F4K 0x66
#define F5K 0x67
#define F6K 0x68
#define F7K 0x69
#define F8K 0x6A
#define F9K 0x6B
#define F10K 0x6C
#define SHFTK 0x70
#define CTRLK 0x71
#define OPT1K 0x72
#define OPT2K 0x73
/************************************************/
/* キーマン (Key Man) */
/************************************************/
/*
* キーレコード (KmRec)
*/
typedef struct KmRec {
AqRec kmAqRec;
ULONG kmMdfy;
void *kmMap;
ULONG kmKbr;
ULONG kmAscJob;
ULONG kmCacheA;
ULONG kmCacheK;
ULONG kmCacheM;
} KmRec;
/************************************************/
/* イベントマン (Event Man) */
/************************************************/
/*
* イベントレコード (event)
*/
typedef struct event {
short eWhat;
long eWhom;
ULONG eWhen;
point_t eWhere;
ULONG eHow;
} event;
/*
* イベントコード、ビットマスク (eWhat)
*/
#define E_IDLE 0
#define E_MSLDOWN 1
#define E_MSLUP 2
#define E_MSRDOWN 3
#define E_MSRUP 4
#define E_KEYDOWN 5
#define E_KEYUP 6
#define E_UPDATE 7
#define E_RESERVE1 8
#define E_ACTIVATE 9
#define E_RESERVE2 10
#define E_RESERVE3 11
#define E_SYSTEM1 12
#define E_SYSTEM2 13
#define E_USER1 14
#define E_USER2 15
#define EM_MSLDOWN 0x0002
#define EM_MSLUP 0x0004
#define EM_MSRDOWN 0x0008
#define EM_MSRUP 0x0010
#define EM_KEYDOWN 0x0020
#define EM_KEYUP 0x0040
#define EM_UPDATE 0x0080
#define EM_RESERVE1 0x0100
#define EM_ACTIVATE 0x0200
#define EM_RESERVE2 0x0400
#define EM_RESERVE3 0x0800
#define EM_SYSTEM1 0x1000
#define EM_SYSTEM2 0x2000
#define EM_USER1 0x4000
#define EM_USER2 0x8000
#define EM_EVERY 0xFFFF
/*
* 特殊キー状態のビット番号、マスク (eHow)
*/
#define EH_SHFT 0
#define EH_CTRL 1
#define EH_OPT1 2
#define EH_OPT2 3
#define EH_KANA 8
#define EH_ROME 9
#define EH_CDIN 10
#define EH_CAPS 11
#define EH_INS 12
#define EH_HIRA 13
#define EH_ZEN 14
#define EH_XF1 16
#define EH_XF2 17
#define EH_XF3 18
#define EH_XF4 19
#define EH_XF5 20
#define EHM_SHFT 0x000001
#define EHM_CTRL 0x000002
#define EHM_OPT1 0x000004
#define EHM_OPT2 0x000008
#define EHM_KANA 0x000100
#define EHM_ROME 0x000200
#define EHM_CDIN 0x000400
#define EHM_CAPS 0x000800
#define EHM_INS 0x001000
#define EHM_HIRA 0x002000
#define EHM_ZEN 0x004000
#define EHM_XF1 0x010000
#define EHM_XF2 0x020000
#define EHM_XF3 0x040000
#define EHM_XF4 0x080000
#define EHM_XF5 0x100000
/*
* ショートカットキー
*/
#define SHORTCUT EH_OPT1
#define SCK_UNDO 0x2A
#define SCK_CUT 0x2B
#define SCK_COPY 0x2C
#define SCK_PASTE 0x2D
#define SCK_DELETE 0x2E
/************************************************/
/* リソースマン (Resource Man) */
/************************************************/
/*
* リソースマンのエラーコード
*/
#define ER_RSCNOTFND -2048
#define ER_EXISTTYPE -2049
#define ER_EXISTID -2050
#define ER_TYPENOTFND -2051
#define ER_IDNOTFND -2052
#define ER_ILLTYPE -2053
#define ER_ILLID -2054
#define ER_NILCURRENT -2055
#define ER_NOTOPEN -2056
#define ER_NILHANDLE -2057
#define ER_HDLNOTFND -2058
#define ER_CANTDETATCH -2059
/************************************************/
/* グラフマン (Graph Man) */
/************************************************/
/*
* レクタングルレコード (rectangle)
*/
typedef struct rect {
short left;
short top;
short right;
short bottom;
} rect;
/*
* リージョンレコード (region)
*/
typedef struct region {
int size;
rect bounds;
} region;
/*
* ポリゴンレコード (polygon)
*/
typedef struct polygon {
int size;
rect bounds;
} polygon;
/*
* LASCIIレコード
*/
typedef struct LASCII {
UBYTE length;
char Lstr[255];
} LASCII;
/*
* レクタングルイメージレコード (rectangle image)
*/
typedef struct rectImg {
rect bounds;
UBYTE data;
} rectImg;
/*
* tx16レコード
*/
typedef struct tx16 {
UINT self;
int length;
rect bounds;
UWORD palet[16];
UBYTE data;
} tx16;
#define TX16sigWord 0x54583136
/*
* グラフスプリクト (gScript)
*/
typedef struct gScript {
int size;
UWORD version;
region clipping;
} gScript;
/*
* グラフスクリプトコマンド (gScript command)
*/
#define GS_NOP 0
#define GS_REM 1
#define GS_BITMAP 2
#define GS_APAGE 3
#define GS_CLIP 4
#define GS_PMODE 5
#define GS_PSIZE 6
#define GS_FKIND 7
#define GS_FFACE 8
#define GS_FMODE 9
#define GS_FSIZE 10
#define GS_FORE 11
#define GS_BACK 12
#define GS_PPAT 13
#define GS_EXPAT 14
#define GS_LINE 15
#define GS_FRRECT 16
#define GS_FLRECT 17
#define GS_FRRRECT 18
#define GS_FLRRECT 19
#define GS_FROVAL 20
#define GS_FLOVAL 21
#define GS_FRARC 22
#define GS_FLARC 23
#define GS_FRPOLY 24
#define GS_FLPOLY 25
#define GS_FRRGN 26
#define GS_FLRGN 27
#define GS_STR 28
#define GS_PUT 29
#define GS_COPY 30
#define GS_FRNPOLY 31
#define GS_FLNPOLY 32
#define GS_END -1
/*
* TBMレコード
*/
typedef struct TBM {
int page;
UWORD aPage;
} TBM;
/*
* ビットマップレコード (bitmap)
*/
typedef struct bitmap {
short bmKind;
rect bmRect;
int base;
short line;
union {
UWORD bRatio;
TBM tbm;
} opt;
} bitmap;
/*
* グラフレコード (graph)
*/
typedef struct graph {
bitmap *bmap;
rect grRect;
int *procs;
region **visible;
region **clipping;
short drawLvl;
UWORD penMode;
point_t penLoc;
point_t penSize;
short *penPat;
short *exPat;
short workKind;
void **workHdl;
UWORD fgColor;
UWORD bgColor;
short fontKind;
UWORD fontFace;
UWORD fontMode;
point_t fontSize;
} graph;
/*
* ペンモード (penMode)
*/
#define G_FORE 0x000
#define G_BACK 0x100
#define G_PPAT 0x200
#define G_EPAT 0x300
/*
* フォントの種類 (fontKind)
*/
#define G_ROM12 0
#define G_ROM16 1
#define G_ROM24 2
/*
* 飾り文字、ビット番号 (fontFace)
*/
#define G_PLANE 0
#define G_BOLD 1
#define G_ITALIC 2
#define G_ULINE 4
#define G_OLINE 8
#define G_SHADOW 16
#define GB_BOLD 0
#define GB_ITALIC 1
#define GB_ULINE 2
#define GB_OLINE 3
#define GB_SHADOW 4
/*
* ペンバッファ (pen)
*/
typedef struct pen {
point_t loc;
point_t size;
UWORD mode;
short *pat;
} pen;
/*
* フォント (font)
*/
typedef char fontImg[];
typedef struct fontTbl {
fontImg *HA12;
fontImg *ZS12;
fontImg *HA16;
fontImg *HS16;
fontImg *QU16;
fontImg *QL16;
fontImg *QM16;
fontImg *ZA16;
fontImg *Z116;
fontImg *Z216;
fontImg *ZG16;
fontImg *ZS16;
fontImg *HA24;
fontImg *HG24;
fontImg *QU24;
fontImg *QL24;
fontImg *QM24;
fontImg *ZA24;
fontImg *Z124;
fontImg *Z224;
fontImg *ZG24;
fontImg *ZS24;
} fontTbl;
/*
* グラフ描画ルーチンのテーブル (gProc)
*/
typedef struct gProc {
int (*gStr)();
int (*gLine)();
int (*gRect)();
int (*gRRect)();
int (*gOval)();
int (*gArc)();
int (*gPoly)();
int (*gRgn)();
int (*gCopy)();
void (*gRsv1)();
void (*gRsv2)();
int (*gStrWidth)();
int (*gStrLen)();
void (*gRsv3)();
void (*gRsv4)();
void (*gRsv5)();
} gProc;
/*
* ビッツレコード (bits)
*/
typedef struct bits {
bitmap bitsBmap;
point_t bitsSize;
short bitsLvl;
char bitsRsv[16];
UBYTE bitsData;
} bits;
/*
* フォントリンク (fontLink)
*/
typedef struct fontLink {
struct fontLink *flNext;
short flKind;
char *flName;
int (*flProc)();
int *flMem;
int flRsv;
} fontLink;
/*
* フォント描画ルーチンのテーブル (fontProc)
*/
typedef struct fontProc {
int (*faceJob)();
int (*putCharJob)();
} fontProc;
/*
* フォント描画コマンド (font proc command)
*/
#define FP_INIT 0
#define FP_TINI 1
#define FP_INFO 2
#define FP_DRAW 3
#define FP_LENGTH 4
#define FP_WIDTH 5
#define FP_REV 6
#define FP_RSV 7
#define FP_MAX 7
/*
* ライン処理ルーチンのテーブル (hProc)
*/
typedef struct hProc {
int (*hLineInit)();
int (*hCopyInit)();
int (*hPutInit)();
} hProc;
/*
* ライン処理レコード (hLineRec)
*/
typedef struct hLineRec {
void (*hlSub)();
void (*hlCall0)();
void (*hlCall1)();
void (*hlCall2)();
void (*hlCall3)();
short hlPofs;
short hlPnext;
short hlPmask;
char hlPat[512];
} hLineRec;
/*
* コピー処理レコード (hCopyRec)
*/
typedef struct hcopyRec {
void (*hcSub)();
void (*hcCall0)();
void (*hcCall1)();
void (*hcCall2)();
void (*hcCall3)();
short hcNot0;
short hcNot1;
short hcNot2;
short hcNot3;
short hcSxofs;
short hcDxofs;
int hcSpage;
int hcDpage;
short hcRev;
} hCopyRec;
/*
* リージョン処理ルーチンのテーブル (rgnProc)
*/
typedef struct rgnProc {
void (*andRgnLine)();
void (*orRgnLine)();
void (*diffRgnLine)();
void (*xorRgnLine)();
} rgnProc;
/*
* ニューポリゴンレコード (npoly)
*/
typedef struct npoly {
polygon ***polyList;
} npoly;
/*
* ニューポリゴン環境 (nPolyEnv)
*/
typedef struct nPolyEnv {
int lineWidth;
int capKind;
int joinKind;
int miterLimit;
} nPolyEnv;
/*
* 線端の形状
*/
#define NP_BUTTCAP 0
#define NP_ROUNDCAP 1
#define NP_PROJECTCAP 2
/*
* 結合の形状
*/
#define NP_MITERJOIN 0
#define NP_ROUNDJOIN 1
#define NP_BEVELJOIN 2
/*
* オリジナルグラフスプリクト環境 (gsOneEnv)
*/
typedef struct gsOneEnv {
gScript **gsOneHdl;
int gsOneOfs;
rect gsOneSrect;
rect gsOneDrect;
graph *gsOneGraph;
} gsOneEnv;
/*
* 分割ベジェ (splitedBezier)
*/
typedef struct splitedBezier {
long a1;
long c1;
long c2;
long a2;
long c3;
long c4;
long a3;
} splitedBezier, *splitedBezierPtr;
/*
* 分割Bスプライン (splitedBSpline)
*/
typedef struct splitedBSpline {
long a1;
long c1;
long a2;
long c2;
long a3;
} splitedBSpline, *splitedBSplinePtr;
/*
* スクリーンの種類 (screen kind)
*/
#define G_TXT 0
#define G_GRP 1
#define G_GR2 2
#define G_GR3 3
/*
* ドローモード (draw mode)
*/
#define G_PSET 0
#define G_AND 1
#define G_OR 2
#define G_XOR 3
#define G_NPSET 4
#define G_NAND 5
#define G_NOR 6
#define G_NXOR 7
#define G_ADD 8
#define G_ADDLIM 9
#define G_SUB 10
#define G_SUBLIM 11
#define G_SELMAX 12
#define G_SELMIN 13
#define G_BLEND 14
/*
* プロットモード (plot mode)
*/
#define G_STD 0
#define G_REV 1
#define G_HILITE 2
#define G_HILREV 3
#define G_ERACE 4
#define G_MESH 6
#define G_MESREV 7
#define G_HIDDEN 8
#define G_HIDREV 9
/*
* テキストカラー (text color)
*/
#define G_THRU 0
#define G_WHITE 8
#define G_LGRAY 9
#define G_DGRAY 10
#define G_BLACK 11
#define G_YELLOW 12
#define G_RED 13
#define G_GREEN 14
#define G_BLUE 15
/************************************************/
/* ウィンドウマン (Window Man) */
/************************************************/
/*
* ウィンドウレコード (window)
*/
typedef struct window {
graph wGraph;
UWORD wKind;
char wVisible;
char wHilite;
char wClose;
char wStatus;
UWORD wOption;
region **wOutside;
region **wInside;
region **wUpdate;
long (*wDef)();
long wDefData;
LASCII **wTitle;
UWORD wTWidth;
long wControl;
struct window *wNext;
gScript **wGScript;
long wTask;
} window;
/*
* ウィンドウの種類 (wKind)
*/
#define WK_DIALOG 2
#define WK_USER 8
#define WK_GRAPHIC 16
#define WK_SUB 32
/*
* オプションコード、ビット番号、マスク (wOption)
*/
#define WC_SCROLL 1
#define WC_CLIP 2
#define WC_DRIVE 4
#define WC_GBOX 8
#define WCB_SCROLL 0
#define WCB_CLIP 1
#define WCB_DRIVE 2
#define WCB_GBOX 3
#define WCB_GBOXON 8
#define WCB_ARROW 9
#define WC_GBOXON 0x0100
#define WC_ARROW 0x0200
#define WC_CLIPON 0x8000
/*
* ズーム (zoom)
*/
typedef struct zoom {
rect stdRect;
rect exdRect;
} zoom;
/*
* テンプレート 'WIND'
*/
typedef struct WIND {
rect rwBounds;
short rwDefID;
short rwVisible;
short rwCBox;
long rwTaskID;
LASCII rwTitle;
} WIND;
/*
* リソース 'WDEF' ID
*/
#define WI_STD 32
#define WI_STDG 48
#define WI_STD2 49
#define WI_STDG2 50
#define WI_PLN 36
/*
* ウィンドウ定義関数コマンド
*/
#define CMD_WDRAW 0
#define CMD_WWHERE 1
#define CMD_WCALC 2
#define CMD_WNEW 3
#define CMD_WDISP 4
#define CMD_WGROW 5
#define CMD_WGBOX 6
#define CMD_WFILL 7
#define CMD_WMOVE 8
/*
* ウィンドウパートコード
*/
#define W_INDESK 0
#define W_ININSIDE 3
#define W_INDRAG 4
#define W_INGROW 6
#define W_INCLOSE 7
#define W_INZMOUT 8
#define W_INZMIN 9
#define W_INARROW 13
#define W_INCLPON 14
#define W_INCLPOFF 15
#define W_INDRIVE 16
/************************************************/
/* サブウィンドウマン(Sub Window man) */
/************************************************/
/*
* サブウィンドウレコード (subWindow)
*/
typedef struct subWindow {
window tWin;
long tPrio;
} subWindow;
/************************************************/
/* メニューマン (Menu Man) */
/************************************************/
/*
* メニューアイテム (mItem)
*/
typedef struct mItem {
char mSKey;
char mCheck;
LASCII mTitle;
} mItem;
/*
* メニューアイテムリスト (mIList)
*/
typedef struct mIList {
short mILSize;
mItem mILDate;
} mIList;
/*
* メニューレコード (menu)
*/
typedef struct menu {
short mID;
short mWidth;
short mHight;
int mProc;
UINT mEnable;
long mHandle;
mIList mData;
} menu;
/*
* メニュー定義関数コマンド
*/
#define CMD_MDRAW 0
#define CMD_MSEL 1
#define CMD_MCALC 2
#define CMD_MINIT 4
#define CMD_MDISP 5
#define CMD_MCHCK 6
/************************************************/
/* コントロールマン (Control Man) */
/************************************************/
/*
* コントロールレコード (control)
*/
typedef struct control {
struct control *cNext;
window *cWindow;
rect cRect;
char cVisible;
char cHilite;
short cValue;
short cMin;
short cMax;
int (*cDef)();
UWORD cOption;
long cDefData;
void (*cProc)();
long cUser;
LASCII cTitle;
} control;
/*
* テンプレート 'CNTL'
*/
typedef struct CTRL {
rect rcBounds;
short cValue;
short rcVisible;
short rcMax;
short rcMin;
short rcID;
long rcUser;
LASCII rcTitle;
} CTRL;
/*
* リソース 'CDEF' ID
*/
#define CI_STDBTN 0
#define CI_SELBTN 1
#define CI_OTNBTN 2
#define CI_SLDVOL 19
#define CI_SLDBTN 20
#define CI_SCLBRWH 64
#define CI_SCLBRWV 65
#define CI_SCRLBRH 66
#define CI_SCRLBRV 67
/*
* コントロール定義関数コマンド
*/
#define CMD_CDRAW 0
#define CMD_CWHERE 1
#define CMD_CCALC 2
#define CMD_CINIT 3
#define CMD_CDISP 4
#define CMD_CPOS 5
#define CMD_CTHUMB 6
#define CMD_CDRAG 7
#define CMD_CTRACK 8
/*
* コントロールパートコード
*/
#define C_INBTTN 10
#define C_INCHECK 11
#define C_INUP 20
#define C_INDOWN 21
#define C_INPGUP 22
#define C_INPGDOWN 23
#define C_INTITLE 24
#define C_INTHUMB 129
/************************************************/
/* テキストマン (Text Man) */
/************************************************/
/*
* テキストエディットレコード (tEdit)
*/
typedef struct tEdit {
rect dest;
rect view;
long offsetH;
long offsetV;
char **HText;
int lenMax;
int length;
int rsv0;
int selStart;
int selEnd;
int selLine;
int selOffset;
int refCon;
short lineHeight;
short tabSize;
short just;
char drawMode;
char visible;
long locateH;
long locateV;
graph *InPort;
int caretTime;
short caretState;
int (*(*procs))();
short *funcCode;
short *ctrlCode;
int (*(*cprocs))();
int nColumns;
int nLines;
int **lineStarts;
} tEdit;
/*
* 文字列処理ルーチンのテーブル (teStrFunc)
*/
typedef struct teStrFunc {
int (*OFF_InWid)();
int (*OFF_Width)();
int (*OFF_Draw)();
int (*OFF_UpDt)();
int (*OFF_UpDt2)();
int (*OFF_UpDt3)();
int (*OFF_Rev)();
int (*OFF_Scroll)();
int (*OFF_ScrollR)();
int (*OFF_FillR)();
int (*OFF_CLIP)();
int (*OFF_Caret)();
int (*OFF_DrEOF)();
int (*OFF_Str)();
int (*OFF_Sel)();
int (*OFF_FillRL)();
void (*OFF_Rsv1)();
void (*OFF_Rsv2)();
void (*OFF_Rsv3)();
void (*OFF_Rsv4)();
} teStrFunc;
/*
* 編集履歴 (teHis)
*/
typedef struct teHis {
short editon;
int editnLine;
int editStart;
int editLine;
int editLocateH;
int editLocateV;
int editLocateM;
int editCoLine;
int editCoDiff;
} teHis;
/*
* 段落情報 (teColumn)
*/
typedef struct teColumn {
int coPos;
int coLcnt;
int coLine;
int coOffset;
int coSize;
int coPtr;
int line;
int lineOffset;
int lineSize;
int linePtr;
} teColumn;
/*
* テキストマンのエラーコード
*/
#define TM_EDITABORT -10240
#define TM_LINEOVER -10239
#define TM_LENOVER -10238
#define TM_PROHIBITEDIT -10237
#define TM_EDITERR -10236
/************************************************/
/* ダイアログマン (Dialog Man) */
/************************************************/
/*
* ダイアログアイテム (dlgItem)
*/
typedef struct dlgItem {
long dlgIHdl;
rect dlgIBounds;
UBYTE dlgIType;
UBYTE dlgISize;
/* UWORD dlgIData; */
} dlgItem;
/*
* ダイアログアイテムタイプ、ビット番号 (dlgIType)
*/
#define DT_USER 0
#define DT_STDBTN 4
#define DT_SELBTN 5
#define DT_OTNBTN 6
#define DT_RSCITM 7
#define DT_STCTXT 8
#define DT_EDTTXT 16
#define DT_ICNITM 32
#define DT_PICITM 64
#define DT_DISABL 128
#define DB_CTLITM 2
#define DB_STCTXT 3
#define DB_EDTTXT 4
#define DB_ICNITM 5
#define DB_PICITM 6
#define DB_DISABL 7
/*
* ダイアログアイテムリスト (dlgIList)
*/
typedef struct dlgIList {
short dlgILSize;
short dlgILData;
} dlgIList;
/*
* ダイアログレコード (dialog)
*/
typedef struct dialog {
window dWindow;
dlgIList **dItems;
tEdit **dText;
short dTMan;
short dTMOpen;
short dReserve;
} dialog;
/*
* テンプレート 'DLOG'
*/
typedef struct DLOG {
rect rdBounds;
short rdWID;
short rdVisible;
short rdCBox;
long rdTask;
short rdItems;
LASCII rdTitle;
} DLOG;
/************************************************/
/* タスクマン (Task Man) */
/************************************************/
/*
* タスク管理テーブル (task)
*/
typedef struct task {
char name[90];
LASCII command;
short tskid;
short parentid;
short stmode;
long rsctype;
short rscid;
short state;
long *programPtr;
long **programHdl;
long **dataHdl;
char *envPtr;
long regkeep[18];
short commsendid;
short commrecvid;
long tickcount;
long commonHdl;
long rsv1[3];
long refCon;
long rscchain;
short rsv2[16];
} task;
/*
* タスクマンのステータス (state)
*/
#define ST_EMPTY 0
#define ST_ACTIVE 1
#define ST_COMMUNICATE 2
#define ST_SENDMES 3
#define ST_SLEEP 4
#define ST_STARTUP 5
#define ST_LOAD 6
#define ST_EXIT 7
/*
* タスクマンイベントレコード (tsevent)
*/
typedef struct tsevent {
short what;
long whom;
long when;
long whom2;
short what2;
short tskid;
} tsevent;
/*
* タスクマンイベントコード (what2)
*/
#define STARTUP 0
#define ENDTSK 1
#define CLOSEALL 2
#define NOTICEEJECT 3
#define DISKEJECT 4
#define NOTICEFORMAT 5
#define DISKFORMAT 6
#define NOTICEDCOPY 7
#define DISKCOPY 8
#define DISKINSERT 9
#define REMOVEDIR 10
#define DELETEFILE 11
#define DELETEVONAME 12
#define MOVEFILE 13
#define COPYFILE 14
#define MAKEDIR 15
#define CREATFILE 16
#define CREATEVONAME 17
#define OPENFILE 20
#define CLOSEFILE 21
#define CHMODFILE 22
#define CLOSEPATH 30
#define SAVE 31
#define WINDOWSELECT 32
#define NOTICEENDTSK 33
#define TOSCRAP 50
#define EMPTYTRASH 51
#define FOCKCHD 62
#define FOCKALL 63
#define FOCKCELL 64
#define FOCKNOTHEAD 65
#define DRAGNOW 80
#define DRAGEND 81
#define CHANGEDRSC 90
#define REQLOADRSC 104
#define RESLOADRSC 105
/*
* ドライブ情報レコード (drinfo)
*/
typedef struct drinfo {
UBYTE mediabyte;
UBYTE unitno;
short driveno;
} drinfo;
/*
* ドラッグレコード (drag)
*/
typedef struct drag {
long length;
void **cellHdl;
short tskid;
point_t origen;
long imagePtr;
} drag;
/*
* スクラップレコード (scrap)
*/
typedef struct scrap {
long length;
void **cellHdl;
} scrap;
/*
* ビルトインコマンド定義レコード (builtin)
*/
typedef struct builtin {
short rscid;
char name[1+90];
} builtin;
/*
* ビルトインコマンドシステム予約(CMDS のID)
*/
#define CMDSDIR 0
#define CMDSCHD 1
#define CMDSPINFO 2
#define CMDSDINFO 3
#define CMDSINFO 4
#define CMDSCLO 5
#define CMDSREN 6
#define CMDSCLIP 7
#define CMDSVDCP 8
#define CMDSVFOR 9
#define CMDSCOPY 10
#define CMDSCSHL 11
#define CMDSHENW 12
#define CMDSTITL 13
/*
* アイコン管理レコード (icstate)
*/
typedef struct icstate {
rect image;
char name[18+3];
UBYTE attr;
long opt1;
long opt2;
UBYTE mediabyte;
UBYTE unitno;
short iconid;
char *pathPtr;
UBYTE bitflag;
UBYTE drawMode;
UBYTE rsv[4];
} icstate;
/*
* アイコン定義レコード (ickind)
*/
typedef struct ickind {
long type;
short id;
short attrib;
short mldown;
short menuid1;
short menuid2;
char name[1+90];
char execf[1+90];
char param[1+255];
} ickind;
/*
* オープンファイル名管理レコード (openfile)
*/
typedef struct openfile {
char name[90];
short mode;
short id;
} openfile;
/*
* セルレコード (cell)
*/
typedef struct cell {
ULONG kind;
long length;
UBYTE data[2];
} cell;
/*
* タスクマンのエラーコード
*/
#define ER_ABORT -8194
#define ER_OBJX -8193
#define ER_NOTHEAD -8192
#define ER_NOTOBJECT -8191
#define ER_NOTLOAD -8190
#define ER_NOTPARA -8189
#define ER_FILENOTFND -8161
#define ER_SERCHBREAK -8160
#define ER_RSCROUTEERR -8155
/************************************************/
/* プリントマン(Print Man) */
/************************************************/
/*
* プリントレコード (prRec)
*/
typedef struct prRec {
short prPaperKind;
short prPaperOption;
rect prPaperRect;
rect prLimitRect;
rect prPageRect;
char prPaperRsv[ 8 ];
short prDocImage;
short prDocColumn;
short prDocLine;
short prDocTab;
short prDocHeight;
char prDocRsv[ 8 ];
point_t prRes;
point_t prANKSize;
point_t prKanjiSize;
short prColorKind;
char prPrnRsv[ 8 ];
short prManVer;
char prManRsv[ 8 ];
short prDrvVer;
char prDrvRsv[ 8 ];
short prMinPage;
short prMaxPage;
long prUserData;
char prUserRsv[ 8 ];
short prFstPage;
short prLstPage;
short prDupPage;
short prMode;
short prMask;
char prJobRsv[ 8 ];
short prPageCount;
short prDupCount;
char prWorkRsv[ 8 ];
} prRec;
/*
* 用紙の種類 (prPaperKind)
*/
#define P_FREE 0
#define P_A3 1
#define P_A3R 2
#define P_A4 3
#define P_A4R 4
#define P_A5 5
#define P_A5R 6
#define P_B3 7
#define P_B3R 8
#define P_B4 9
#define P_B4R 10
#define P_B5 11
#define P_B5R 12
#define P_10x11 13
#define P_15x11 14
#define P_LETTER 15
#define P_LETTERR 16
/*
* ペーパーオプション (prPaperOption)
*/
#define P_NONE 0
#define P_TRACTOR 1
#define P_CUTSHEET 2
#define P_LETSHEET 3
/*
* ビットイメージ出力 (prDocImage)
*/
#define P_GAIJI 1
#define P_RSV 2
#define P_KANJI2 4
#define P_KANJI1 8
#define P_ANK 16
#define PB_GAIJI 0
#define PB_RSV 1
#define PB_KANJI2 2
#define PB_KANJI1 3
#define PB_ANK 4
/*
* カラーの種類 (prColorKind)
*/
#define PK_MONO 0
#define PK_COLORBIT1 1
/*
* 印刷モード、ビットマスク (prMode, prMask)
*/
#define P_DRAFT 1
#define P_COLOR 2
#define PB_DRAFT 0
#define PB_COLOR 1
/*
* プリンタドライバ (prtDrvr)
*/
typedef struct prtDrvr {
long pType;
long pcSize;
long pExec;
long pdSize;
long pRsv[ 3 ];
long prtDrvrName;
long prtDrvrStart;
long prtDrvrType;
short prtDrvrVer;
short prtDrvrExt;
} prtDrvr;
/*
* プリンタ情報 (prtdInfo)
*/
typedef struct prtdInfo {
short prtdID;
short prtdVer;
char prtdName[ 40 ];
} prtdInfo;
/*
* コントロール
*/
#define PC_STAT 0
#define PC_END 1
#define PC_STOP 2
#define PC_CONT 3
/*
* プリントマンのステータス
*/
#define P_FINISH 0
#define P_WORKING 1
#define P_RESTING 2
#define P_TIMEOUT 3
#define P_ERROR -1
/*
* プリンタコントロールコマンド
*/
#define PD_RESET 0
#define PD_CRLF 1
#define PD_FF 2
#define PD_STRING 3
#define PD_BITIMAGE 4
#define PD_GSCRIPT 5
/************************************************/
/* フォントマン(Font Man) */
/************************************************/
/*
* フォントレコード (fmRec)
*/
typedef struct fmRec {
short fmKind;
short fmFace;
point_t fmSize;
long fmWork;
long fmRev;
long fmWidth;
long fmWhalf;
long fmHeight;
short fmExtra;
long fmXzoom;
long fmYzoom;
} fmRec;
/*
* フォントリスト (FontList)
*/
typedef struct FontList {
short id;
short type;
short mothoerID;
char FontName[26];
} FontList, *FontListPtr, **FontListHandle;
#endif